//#include <iostream>
//using namespace std;
//int Fib(int m)
//{
//	if(m == 1)
//	    return m;
//	return m * Fib(m-1);
//}
//int main()
//{
//	int n;
//	cin >> n;
//	int c = Fib(n);
//	cout << c << endl;
//	return 0;
//}



//#include<iostream>
//using namespace std;
//
//int Fib(int m)
//{
//	if(m == 1)
//	    return 1;
//	return m + Fib(m-1);
//}
//int main()
//{
//	int n;
//	cin >> n;
//	int c = Fib(n);
//	cout << c << endl;
//	return 0;
//}


//#include<iostream>
//using namespace std;
//int akm(int m, int n)
//{
//	if(m == 0)
//	    return n + 1;
//	else if(m > 0 && n == 0)
//	    return akm(m-1, 1);
//	return akm(m-1, akm(m, n-1));
//}
//int main()
//{
//	int m, n;
//	cin >> m >> n;
//	int c = akm(m, n);
//	cout << c << endl;
//	return 0;
//}


//#include<iostream>
//using namespace std;
//
//int digit(int n, int k)
//{
//	if(k == 1)
//	    return n % 10;
//	return digit(n / 10, k-1);
//}
//int main()
//{
//	int n, k;
//	cin >> n >> k;
//	int c = digit(n, k);
//	cout << c << endl;
//	return 0;
//}



//#include<iostream>
//#include<cmath>
//#include<cstdio>
//using namespace std;
//
//double f(double x, int n)
//{
//	if(n == 1)
//	    return sqrt(1+x);
//	return sqrt(n+f(x, n-1));
//}
//int main()
//{
//	double x;
//	int n;
//	cin >> x >> n;
//	double c = f(x, n);
//	printf("%.2lf", c);
//	return 0;
//}



//#include<iostream>
//#include<cmath>
//#include<cstdio>
//using namespace std;
//
//double f(double x, int n)
//{
//	if(n == 1)
//	    return x / (1 + x);
//	return x / (n + f(x, n - 1));
//}
//int main()
//{
//	double x;
//	int n;
//	cin >> x >> n;
//	double c = f(x, n);
//	printf("%.2lf", c);
//	return 0;
//}



#include<iostream>
using namespace std;


string s ="0123456789ABCDEF";
void x_to_m(int x, int m)
{
	if(x >= m)
	    x_to_m(x / m, m);
	cout << s[x % m];
}
int main()
{
	int x, m;
	cin >> x >> m;
	x_to_m(x, m);
	return 0;
}
